package com.ssy.lingxi.marketing.api.model.constant;

import java.util.Arrays;

/**
 *  营销服务内部消息队列类型
 * @author ds
 * @date 2022/3/8
 * @version 2.0.0
 */
public enum MkQueueMessageTypeEnum {
    /****************************[1,10]为延时队列*****************************/
    /**
     * 拼团超时
     */
    GROUP_PURCHASE_TIMEOUT(1, "拼团超时"),
    /**
     * 优惠券过期
     */
    COUPON_EXPIRE(2, "优惠券过期"),

    /****************************>=11为普通队列*****************************/

    /**
     * 赠品活动-赠优惠券
     */
    GIFT_COUPON(11, "赠优惠券"),

    /**
     * 未知类型
     */
    UNKNOWN(99, "未知");

    MkQueueMessageTypeEnum(Integer code, String name) {
        this.code = code;
        this.name = name;
    }

    private Integer code;
    private String name;

    public Integer getCode() {
        return code;
    }

    public String getName() {
        return name;
    }

    public static MkQueueMessageTypeEnum parse(Integer code) {
        return code == null ? null : Arrays.stream(MkQueueMessageTypeEnum.values()).filter(e -> e.getCode().equals(code)).findFirst().orElse(UNKNOWN);
    }
}
